The present invention generally relates to the field of service provisioning in wireless networks. Service discovery information needed for determining the availability of requested remote services in a wireless multi-hop network can be replicated by supporting service users to select the closest service provider offering a requested remote service at a network distance in the physical proximity of the respective user's client terminal that can be reached with a minimum of forwarding delay.
Today, distributed network environments offer a rich set of services to the users. Besides classical services, such as those offered by printers or local gateway routers, new types of services are becoming available. Examples include music-on-demand services and services which use computational infrastructure that is being deployed within the network. Enabling these devices and services to work together has become an important issue. Especially with the widespread use of new personal network-enabled mobile devices (such as PDAs and 3G telephones) and the emergence of near-ubiquitous communication infrastructure based on wired and wireless networks, it is becoming increasingly important to allow users and applications to interact with existing services without considerable need to configuration or administration. The key requirement for such a scheme is to enable services to advertise their existence and properties and also allow service users to discover the service they need and utilize it. These tasks are addressed by service discovery protocols. While service discovery technologies were originally developed for so-called “zero-configuration” networks (e.g. networks aimed at installation in the home environment), researchers began to investigate how they can also be used to support aspects of mobile and ubiquitous computing.
Service discovery protocols, which enable service providers to advertise capabilities to potential clients, thereby providing to clients and service providers a means for entering into a relationship, play a key role in mobile and wireless networks. Protocols addressing service discovery include e.g. IETF's Service Location Protocol (SLP), Sun Microsystems's Jini, Bluetooth's Service Discovery Protocol (SDP), Salutation—a nonproprietary service discovery protocol which is currently utilized by several shipping products—and the Universal Plug and Play (UPnP) protocol. To understand the central idea of the present invention, it is necessary to briefly describe conventional service discovery mechanisms and protocols that are used for determining the availability of requested services in a distributed network environment. In the following section, the Bluetooth Service Discovery Protocol (SDP) is described representative of all the aforementioned commonly used protocols.
A Bluetooth-enabled personal area network may consist of large-sized multi-hop networks in which mobile devices can communicate not only via the master with other mobile devices located in a single piconet but also with mobile nodes which can be reached over a multiplicity of intermediate nodes. Mobile devices are thus able to communicate and use services provided by other mobile devices or infrastructure systems. To allow mobile terminals to use these services, service providers have to publish all available services together with some basic configuration information, and service users have to be equipped with means for searching these services and selecting a specific service provider. The Bluetooth Service Discovery Protocol thereby defines how a Bluetooth client's application shall act to discover services offered by a directly connected Bluetooth SDP server and their characteristics. The protocol defines how a client terminal can search for a remote service based on specific attributes without knowing anything about the availability of said service.
In general, service discovery mechanisms can be grouped into peer-to-peer- and network-based mechanisms. As described in section E from version 1.1 of the Bluetooth core specification (http://www.bluetooth.com/pdf/Bluetooth—11_Specifications_Book.pdf), which refers to the Bluetooth Service Discovery Protocol (SDP), peer-to-peer-based service discovery mechanisms can be used between two devices which are connected via a physical link, thereby using a Bluetooth data-link-layer protocol as e.g. the Logical Link Control and Adaptation Protocol (L2CAP). Thereby, one peer which acts as a client and one peer acting as a file and/or application server establish a direct radio link to detect and select a specific service. Typically, the following steps are carried out: First, an SDP client conducts a Bluetooth inquiry to detect active Bluetooth nodes in the radio range of the client terminal. After that, the service user (SDP client) selects one of the detected devices and opens an L2CAP channel on a well-known protocol/service multiplexer (PSM). An SDP client sends an SDP message to the service provider (SDP server) to check the availability and configuration information for known services or browse a service database on the SDP server as shown in FIG. 1. Depending on the scenario and the availability of the services, the node acting as an SDP client finally establishes a connection to the respective device to use the service or start a new service discovery procedure on another node.
As described in the specification of the Universal Plug and Play (UPnP) standard (http://www.upnp.org), network-based service discovery mechanisms can be used between two or more devices communicating via a broadcast or multicast medium such as a segment of an Ethernet-based local area network. In some wireless personal area technologies such a medium is emulated by means of wireless multi-hop networks which are based on a store-and-forward messaging principle, i.e. Bluetooth Personal Area Networks (PANs), as described in “Bluetooth Personal Area Networking Profile”. In this specification it is described how two or more Bluetooth-enabled devices can form a mobile ad-hoc network and how the same mechanism can be applied to access a remote network through a network access point. Thereby, the SDP client sends a service discovery message to the broad- or multicast medium. All SDP servers, which want to offer a specific service, listen to these messages and match the requested with the offered services. If a match is found, the relevant service provider sends a message to the client indicating the address of the service provider and the offered service.